
 /**
 * @file Gestor.java
 * @brief Fichero que contiene la implementacion de la clase Gestor.
 * @author Houyam Charkaoui
 * @version 01.00
*/

package GestorUsuarios;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.sql.SQLException;
import java.util.Date;

/**
 * @class Gestor
 * @brief Hereda de la clase 'personal clinica'. Representa al encargado de gestionar, 
 * controlar y supervisar el funcionamiento de la clinica.
 */
public class Gestor extends PersonalClinica {
	
	/**
	 * @brief Constructor de la clase: Llama al constructor de PersonalClinica
	 * @param dnipasaporte Documento Nacional de Identidad para el Gestor del pais y 
	 *        Pasaporte para los extranjeros.
	 * @param nombre Nombre del Gestor.
	 * @param apellidos Apellidos del Gestor.
	 * @param fechanacimiento Fecha de nacimiento del Gestor.
	 * @param genero Sexualidad del Gestor: MASCULINO o FEMENINO.
	 * @param correo Correo electronico (e-mail) del Gestor.
	 * @param telefonomovil Numero de contacto movil del Gestor.
	 * @param login Nombre de autentificacion que adquiere el Gestor para poder acceder al sistema.
	 * @param password Clave de acceso del Gestor.
	 * @param estado Situacion en la que se encuentra el Gestor con respecto al centro medico:
	 *        ACTIVO, BAJA_TEMPORAL, BAJA_DEFINITIVA
	 * @throws NoSuchAlgorithmException 
	 */
	public Gestor(String dnipasaporte, String nombre,
			String apellidos, Date fechanacimiento, GeneroUsuario genero,
			String correo, int telefonomovil, String login, String password,
			EstadoUsuario estado, String observaciones) throws NoSuchAlgorithmException {
		super(dnipasaporte, nombre, apellidos, fechanacimiento, genero,
				correo, telefonomovil, login, password, estado, TipoUsuario.GESTOR,
                                observaciones);
	}
	
	/**
	 * @brief Constructor de la clase: Llama al constructor de PersonalClinica
	 * @param dnipasaporte Documento Nacional de Identidad para el Gestor del pais y 
	 *        Pasaporte para los extranjeros.
	 * @param nombre Nombre del Gestor.
	 * @param apellidos Apellidos del Gestor.
	 * @param fechanacimiento Fecha de nacimiento del Gestor.
	 * @param genero Sexualidad del Gestor: MASCULINO o FEMENINO.
	 * @param correo Correo electronico (e-mail) del Gestor.
	 * @param telefonomovil Numero de contacto movil del Gestor.
	 * @param login Nombre de autentificacion que adquiere el Gestor para poder acceder al sistema.
	 * @param password Clave de acceso del Gestor.
	 * @param estado Situacion en la que se encuentra el Gestor con respecto al centro medico:
	 *        ACTIVO, BAJA_TEMPORAL, BAJA_DEFINITIVA
	 * @throws NoSuchAlgorithmException 
	 */

	public Gestor(int idusuario, String dnipasaporte, String nombre,
			String apellidos, Date fechanacimiento, GeneroUsuario genero,
			String correo, int telefonomovil, String login, String password,
			EstadoUsuario estado, String observaciones) throws NoSuchAlgorithmException {
		super(idusuario,dnipasaporte, nombre, apellidos, fechanacimiento, genero,
				correo, telefonomovil, login, password, estado, TipoUsuario.GESTOR,
                                observaciones);
		
	}
		
	/**
	 * @brief Obtiene las bitacoras de una fecha determinada.
	 * @param fecha
	 * @return Vector de Bitacora
	 * @throws IDException 
	 * @throws ClassNotFoundException 
	 * @throws IOException 
	 * @throws SQLException 
	 * @throws NoSuchAlgorithmException 
	 */
	public Bitacora[] getBitacora(Date fecha) throws NoSuchAlgorithmException, SQLException, IOException, ClassNotFoundException, IDException{
		Bitacora [] b=BitacoraDAO.getGestion(getIdUsuario(), fecha);
		return b;
			
	}
}